-
Notifications
You must be signed in to change notification settings - Fork 501
feat: [AWS] OTel to ECS converter pipelines #15570
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: [AWS] OTel to ECS converter pipelines #15570
Conversation
c94876a
to
2abf6cf
Compare
🚀 Benchmarks reportTo see the full report comment with |
a72106b
to
6ede16d
Compare
6ede16d
to
a67d742
Compare
e912453
to
2c5186a
Compare
5ad03c2
to
1046b11
Compare
1046b11
to
4bd7b85
Compare
owner: | ||
github: elastic/obs-ds-hosted-services | ||
type: elastic | ||
icons: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
System integration icon might fit better for this case. @mlunadia WDYT? Do we have anything with System Integration + OTel
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or maybe the elastic icon+OTel?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks both for suggestion, just for context, I have used OpenTelemetry and ECS icon here. ECS icon was taken from standard Elastic Icon assets (see https://brand.elastic.co/302f66895/p/031452-icons/b/90604e and check ECS)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add sample documents for each data stream to test the ingest pipelines? It should be under for example aws_cloudtrail/_dev/test/pipeline/test-aws-cloudtrail.json
.
Also just curious why aws_elblogs
has suffix logs
but the other two dont? 😬
Thanks, good suggestion on sample documents. I will add them with the next PR. Regarding naming, thi s matches existing AWS integration assets. ELB has both logs and metrics support. But for VPC and CloudTrail, there's only logs. |
packages/aws/data_stream/vpcflow/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
packages/aws/data_stream/vpcflow/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
...ages/otel_ecs_converter/data_stream/aws_cloudtrail/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
...ages/otel_ecs_converter/data_stream/aws_cloudtrail/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
on_failure: | ||
- set: | ||
field: error.message | ||
value: '{{ _ingest.on_failure_message }}' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
on_failure: | |
- set: | |
field: error.message | |
value: '{{ _ingest.on_failure_message }}' | |
- set: | |
field: event.kind | |
value: pipeline_error | |
tag: set_pipeline_error_into_event_kind | |
if: ctx.error?.message != null | |
- append: | |
field: tags | |
value: preserve_original_event | |
allow_duplicates: false | |
if: ctx.error?.message != null | |
on_failure: | |
- append: | |
field: error.message | |
value: >- | |
Processor '{{{ _ingest.on_failure_processor_type }}}' | |
{{{#_ingest.on_failure_processor_tag}}}with tag '{{{ _ingest.on_failure_processor_tag }}}' | |
{{{/_ingest.on_failure_processor_tag}}}failed with message '{{{ _ingest.on_failure_message }}}' | |
- set: | |
field: event.kind | |
tag: set_pipeline_error_to_event_kind | |
value: pipeline_error | |
- append: | |
field: tags | |
value: preserve_original_event | |
allow_duplicates: false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a nice suggestion. But I adapted it with some changes as we do not have an original event with OTel. When record reach the pipeline, we already have processed attributes and no original event.
See 1ce7062 and let me know we can agree on this :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@efd6 let me know your opinion on this :)
packages/otel_ecs_converter/data_stream/aws_cloudtrail/manifest.yml
Outdated
Show resolved
Hide resolved
packages/otel_ecs_converter/data_stream/aws_vpcflow/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
Pinging @elastic/security-service-integrations (Team:Security-Service Integrations) |
bd5e27b
to
1ce7062
Compare
Signed-off-by: Kavindu Dodanduwa <[email protected]> # Conflicts: # packages/aws/changelog.yml # packages/aws/manifest.yml
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
1ce7062
to
70ba55f
Compare
💚 Build Succeeded
History
|
@kaiyan-sheng I looked into adding integration tests, but that requires me to define |
Proposed commit message
This PR introduces
OTel ECS converter
integration for AWS signals.The following table explains the supported signal type, source data set data must be ingested and the target data set converted data ends up,
The destination data set matches AWS Integration 1 and supports dashboard assets of the signal.
Checklist
changelog.yml
file.How to test this PR locally
Footnotes
https://www.elastic.co/docs/reference/integrations/aws ↩
https://www.elastic.co/docs/reference/opentelemetry/edot-cloud-forwarder/aws ↩